home *** CD-ROM | disk | FTP | other *** search
/ No Fragments Archive 12: Textmags & Docs / nf_archive_12.iso / MAGS / SOURCES / ATARI_SRC.ZIP / atari source / HDX_BACK / MVICON / AICONBAK < prev    next >
Encoding:
Text File  |  2001-02-09  |  3.4 KB  |  176 lines

  1.  
  2. COLBIT0    equ    $018
  3. COLBIT1    equ    $01A
  4. COLBIT2    equ    $01C
  5. COLBIT3    equ    $01E
  6. LSTLIN    equ    $020
  7. LNMASK    equ    $022
  8. WMODE    equ    $024
  9. X1        equ    $026
  10. Y1        equ    $028
  11. X2        equ    $02A
  12. Y2         equ    $02C
  13. PATPTR     equ    $02E
  14. PATMSK    equ    $032
  15. MFILL    equ    $034
  16.  
  17. ;------------------------------------------
  18. ;
  19. ; _drawicon(X,Y)
  20. ; WORD    X1         4(sp)
  21. ; WORD    Y1         6(sp)
  22. ; draw a icon in the point of (X,Y)
  23.  
  24.  
  25.         .globl    _drawicon
  26.  
  27. _drawicon:
  28.  
  29.     move.w     4(sp), d0
  30.     move.w     6(sp), d1
  31.     move.w     d0, d2
  32.     addi.w     #10, d2 
  33.     move.w     d2, -(sp)
  34.     move.w     d1, -(sp)
  35.     move.w     d0, -(sp)
  36.     jsr        _horiline
  37.     addq.l    #$6, sp
  38.     move.w     4(sp), d0
  39.     move.w     6(sp), d1
  40.     addi.w     #10, d1
  41.     move.w    d0,d3
  42.     subq.w    #5,d0
  43.     move.w     d3, -(sp)
  44.     move.w     d1, -(sp)
  45.     move.w     d0, -(sp)
  46.     jsr        _horiline
  47.     addq.l    #$6, sp
  48.     move.w     4(sp), d0
  49.     move.w     6(sp), d1
  50.     move.w     d0, d2
  51.     addi.w    #10, d0
  52.     addi.w    #10, d1
  53.     addi.w    #15, d2
  54.     move.w     d2, -(sp)
  55.     move.w     d1, -(sp)
  56.     move.w     d0, -(sp)
  57.     jsr        _horiline
  58.     addq.l    #$6, sp
  59.     move.w     4(sp), d0
  60.     move.w     6(sp), d1
  61.     move.w     d0, d2
  62.     subq.w     #5, d0
  63.     addi.w    #15, d2
  64.     addi.w    #20, d1
  65.     move.w     d2, -(sp)
  66.     move.w     d1, -(sp)
  67.     move.w     d0, -(sp)
  68.     jsr        _horiline
  69.     addq.l    #$6, sp
  70.  
  71.     ;do the vertical lines
  72.  
  73.     move.w     4(sp), d0
  74.     move.w     6(sp), d1
  75.     move.w     d1, d2
  76.     addi.w     #10, d2 
  77.     move.w     d2, -(sp)
  78.     move.w     d0, -(sp)
  79.     move.w     d1, -(sp)
  80.     move.w     d0, -(sp)
  81.     jsr        _vertline
  82.     addq.l    #$8, sp
  83.     move.w     4(sp), d0
  84.     move.w     6(sp), d1
  85.     move.w    d1,    d2
  86.     addi.w     #10, d2
  87.     addi.w     #10, d0
  88.     move.w     d2, -(sp)
  89.     move.w     d0, -(sp)
  90.     move.w     d1, -(sp)
  91.     move.w     d0, -(sp)
  92.     jsr        _vertline
  93.     addq.l    #$8, sp
  94.     move.w     4(sp), d0
  95.     move.w     6(sp), d1
  96.     subq.w    #5, d0
  97.     move.w    d1,    d2
  98.     addi.w    #10, d1
  99.     addi.w     #20, d2
  100.     move.w     d2, -(sp)
  101.     move.w     d0, -(sp)
  102.     move.w     d1, -(sp)
  103.     move.w     d0, -(sp)
  104.     jsr        _vertline
  105.     addq.l    #$8, sp
  106.     move.w     4(sp), d0
  107.     move.w     6(sp), d1
  108.     move.w     d1, d2
  109.     addi.w    #15, d0
  110.     addi.w    #10, d1
  111.     addi.w    #20, d2
  112.     move.w     d2, -(sp)
  113.     move.w     d0, -(sp)
  114.     move.w     d1, -(sp)
  115.     move.w     d0, -(sp)
  116.     jsr        _vertline
  117.     addq.l    #$8, sp
  118.     rts
  119.  
  120. ;------------------------------------------
  121. ;
  122. ; _vhline(X1,Y1,X2,Y2, X3)
  123. ; WORD    X1         4(sp)
  124. ; WORD    Y1         6(sp)
  125. ; WORD    X2         8(sp)
  126. ; WORD    Y2         a(sp)
  127. ; WORD    X3         c(sp)
  128. ;
  129. ; draw a solid vertical line form (X1,Y1) to (X2,Y2)
  130. ; draw a solid horizontal line form (X1,Y1) to (X3,Y1)
  131.  
  132.  
  133.         .globl    _vertline
  134.  
  135. _vertline:
  136.  
  137.         dc.w     $A000                ; Make line a Init call
  138.         move.w    #1, COLBIT0(a0)        ; set COLBIT variables
  139.         move.w    #1, COLBIT1(a0)
  140.         move.w    #1, COLBIT2(a0)
  141.         move.w    #1, COLBIT3(a0)
  142.         move.w    #0, LSTLIN(a0)        ; draw last pixel of line
  143.         move.w    #$FFFF, LNMASK(a0)    ; line style mask
  144.         move.w    #2, WMODE(a0)        ; writing mode (replace)
  145.         move.w     4(sp), X1(a0)            ; (x1,y1) and (x2, y2) into
  146.         move.w     6(sp), Y1(a0)            ; appropriate variables
  147.         move.w     8(sp), X2(a0)
  148.         move.w     $a(sp), Y2(a0)
  149.         dc.w    $A003                ; Arbitrary Line
  150.         rts
  151.  
  152.         .globl    _horiline
  153.  
  154. _horiline:
  155.  
  156.         dc.w     $A000                ; Make line a Init call
  157.         move.w    #1, COLBIT0(a0)        ; set COLBIT variables
  158.         move.w    #1, COLBIT1(a0)
  159.         move.w    #1, COLBIT2(a0)
  160.         move.w    #1, COLBIT3(a0)
  161.         move.w    #2, WMODE(a0)        ; writing mode (replace)
  162.         move.w     4(sp), X1(a0)            ; (x1,y1) and (x2, y2) into
  163.         move.w     6(sp), Y1(a0)            ; appropriate variables
  164.         move.w     8(sp), X2(a0)
  165.         move.l    #pat, PATPTR(a0)    ; pattern pointer
  166.         move.w     #0,PATMSK(a0)        ; Pattern length n-1=0
  167.         move.w     #0,MFILL(a0)        ; Multiple Plane fill off
  168.         dc.w    $A004                ; Arbitrary Line
  169.         rts
  170.  
  171. .data
  172. pat:     dc.w    $FFFF                ; Pattern for line.
  173.  
  174.  
  175.  
  176.